const querystring = require("querystring");
// const { getPostedBody } = require("../utils/http_util");
const model = require("../model/user");

// async function getUserInfo(req) {
//     let postedBody = await getPostedBody(req);
//     switch (req.headers["content-type"]) {
//         case "application/x-www-form-urlencoded":
//             postedBody = querystring.parse(postedBody);
//             break;
//         case "application/json":
//             postedBody = JSON.parse(postedBody);
//             break;

//         default:
//             break;
//     }

//     console.log("postedBody", postedBody.username, postedBody.password);
//     return postedBody;
// }

async function doRegister(username, password) {
    try {
        const existedUsers = await model.getUser(username, password);
        console.log("existedUsers", existedUsers);

        if (!existedUsers.data.length) {
            await model.insertUser(username, password);
            return JSON.stringify({
                msg: "注册成功",
                username,
                password,
            });
        } else {
            return JSON.stringify({
                msg: "注册失败",
                err: { msg: "用户名已存在" },
            });
        }
    } catch (err) {
        return JSON.stringify({
            msg: "注册失败",
            err,
        });
    }
}

async function doLogin(username, password) {
    // 以model层的getUser结果为最终登录结果
    return model.getUser(username, password);
}

module.exports = {
    doRegister,
    doLogin,
};
